home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
minix
/
up1510.doc
< prev
next >
Wrap
Text File
|
1995-04-22
|
11KB
|
251 lines
Minix ST 1.5.10 upgrade guide
-- Howard Chu, July 1990
INTRODUCTION
This document is part of a kit for upgrading your stock, unmodified
Minix ST 1.1 system to version 1.5.10, the latest official ST version.
The kit goes straight to 1.5.10 with no stops along the way... Please
read this entire document before doing anything to your system. We'll
both be happier for it in the end.
This kit is basically a synthesis of all the work done by Frans Meulenbroeks,
who posted the original upgrade material. His ":Install" installation
guide is also included here, you should read the introduction there for
more background info, restrictions, copyright, etc.
HARDWARE REQUIREMENTS
I did this upgrade on a system with a hard drive. I don't really want to
think about doing it on a floppy-only system. I've tried, and it makes my
brain hurt. The entire upgrade package compresses down to a 2.5 megabyte
compressed tar file. You'll need nearly 6 megabytes of space to extract
everything. You'll need around another 2.5 megabytes for all the resulting
binary files. I worked out this package on a Unix system, and downloaded
files to a TOS partition to be retrieved later (using tosread in Minix).
If you don't have 10 megabytes of disk space attached to your ST you
might consider splitting things up on a Unix box before going to your ST.
This will be practical for a system with two double-sided disk drives,
as the largest directory is only 500K (Kermit source).
SETTING UP
The whole kit consists of three parts, including this document. The other
two parts are:
up1510a.tar - 1.5 binaries necessary for the upgrade
up1510b.tar - the complete 1.5.10 upgrade files.
I suggest extracting the up1510a tar file into your /tmp directory,
and moving the files to their proper place from there. There are two
versions of cv in this tar file, a 1.1 and a 1.5 version. I'm not sure
that the 1.1 version works very well... I think you will need the 1.5
version to create kernel.mix from kernel.out. (Sorry, when I got to this
stage things weren't working very well and I didn't keep good track of
what the problems were...) At any rate, you may want to grab the source
for the version 1.1 cv from the 1.1fixes file (also available on terminator,
er, atari.archive.umich.edu, the same place you found this stuff...). If
you compile that on your 1.1 system before doing this upgrade, you will
have a good, usable version 1.1 cv.
The up1510b.tar file is meant to be extracted into /usr of your Minix
filesystem. You need to make some preparations before this, of course.
You will only need a few parts of the 1.1 source tree, and none of the
include directory. I suggest renaming them, just to keep them handy in
case you have trouble with the upgrade.
mv /usr/src /usr/src1.1
mv /usr/include /usr/include1.1
mv /usr/lib/libc.a /usr/lib/libc1.1.a
You should then make a new /usr/src directory, and copy a few files
from /usr/src1.1 to it.
mkdir /usr/src /usr/src/commands /usr/src/lib /usr/src/lib/M68000
cp /usr/src1.1/commands/dd.c /usr/src/commands
cpdir /usr/src1.1/commands/mined /usr/src/commands/mined
cpdir /usr/src1.1/commands/sh /usr/src/commands/sh
cp /usr/src1.1/lib/*.s /usr/src/lib/M68000
cpdir /usr/src1.1/fs /usr/src/fs
cpdir /usr/src1.1/kernel /usr/src/kernel
cpdir /usr/src1.1/mm /usr/src/mm
That's it for reusing 1.1 sources. Everything else is included here, as well
as some patches to the above-mentioned source files. As mentioned before,
you should also have the patch program from the 1.1 fixup posting. If you're
feeling particularly brave, or confident that you have all your 1.1 stuff
backed up safely on floppy, you can simply move the appropriate files to
their new destinations instead of copying them.
You will also need to rename a few of the .s source files in the M68000
directory.
cd /usr/src/lib/M68000
mv stbrksz.s brksize.s
mv stcrtso.s crtso.s
mv stend.s end.s
mv sthead.s head.s
mv stsetjmp.s setjmp.s
mv stsndrec.s sendrec.s
If you have enough memory, you should create a system with a huge RAM disk.
If you can fit all of the compiler files onto it, the compilation step will
go a lot faster. (Probably talking around a 700K RAM disk here. 270K is
used for /lib.)
/bin/ar - needed after the new library is done
/bin/as - needed for all compiles
/bin/cat - helpful for applying the patches
/bin/cc - needed for all compiles
/bin/chmem - needed for most commands
/bin/chmod - needed for some commands
/bin/compress - actually zcat - for setup
/bin/cp - needed for some commands
/bin/cpdir - helpful in setup
/bin/echo - needed for many commands (used in makefile)
/bin/ln - needed for some installation steps
/bin/ls - helpful
/bin/make - needed for all compiles
/bin/mkdir - setup
/bin/mv - needed for library
/bin/rm - needed for some pieces
/bin/sh - needed for everything
/bin/tar - setup
/bin/tos... - setup
/lib/cem
/lib/cg
/lib/cpp
/lib/cv - all parts of the compiler
/lib/ld
/lib/opt
CONFIGURING THE TOOLS
These are the recommended amounts of memory for each of the compiler tools:
cc 20000
cpp 30000
cv 50000
as 50000
ld 100000
cem 110000
cg 30000
opt 60000
sh 20000
INSTALLATION PROCESS
1. go to /usr, extract the up1510b.tar file.
I recommend leaving the file compressed on a TOS partition, to save
space. Extract with something like:
tosread hd0a minix/upgrade.z | zcat | tar x -
(you will need the binary of tar included in up1510a.tar, which allows
reading from stdin instead of a named file.) The file Total.crc has the
full crc values for what you should have *after* applying the patches
that are also included. The directories containing patches have a file
Diff.crc containing the crc values for all the patches. You shouldn't
need to check these values, since any corruption would cause either/both
zcat or tar to fail.
[Another note - I named my hard drive devices:
hd00 - block 0 hd10 = 2nd drive, hd20 = 3rd drive
hd0a - 1st partition hd1a = 2nd drive, hd2a = 3rd drive
hd0b - 2nd partition ... etc...
hd0c - 3rd partition
hd0d - 4th partition
hd0e - entire disk]
2. cd /usr/include/minix
edit the config.h file. you may want to edit boot.h, but I have no idea
what you'd want to stick in there.
3. cd /usr/src/lib; make
4. mv libc.a /usr/lib
If you're short on space, you can remove the .o files after any
successful compilation step.
4a. You may want to make the new version of make at this point. It'll come
in handy for the following compilation.
cd /usr/src/commands/make; make; mv make /bin
5. cd /usr/src/fs; cat *.D | patch
If you get any rejects, use the crc program from up1510a and compare
the crc values for the .D diff files with the values in Diff.crc.
If you're really short on space, you can "rm *~ *.D Diff.crc" after
running patch.
make
6. cd /usr/src/kernel; cat *.D | patch; make
7. cd /usr/src/mm; cat *.D | patch; make
8. cd /usr/src/tools; make
9. copy the files from /usr/etc to /etc. If /etc is on the ram disk, make
sure you copy the files to the real disk that the ram disk was loaded
from. You may want to edit the passwd file as well. I wasn't able to
log in as root after the upgrade, so I dropped back and blanked out the
root password in the new passwd file. You may also want to edit the rc
file to suit your system.
If your minix.img is larger than 0x40000 bytes (due to allocating more
buffer cache in /usr/include/minix/config.h) you will have to change the
value of ldaddr in boot.s, then remake minix.img.
copy the minix.img file to a disk.
10. cd /usr/src/test; make
11. cd /usr/src/commands; patch < *.D
(there's only one .D diff file here.)
12. cd mined; cat *.D | patch
13. cd ../sh; cat *.D | patch
14. cd .. (run make in /usr/src/commands)
You may want to go out for a while. libc took a long time, and the
other directories were so-so, but this is gonna go for *hours*...
Also, the official makefile doesn't make it particularly easy to
install the compiled files. I've put a slightly modified Makefile.hyc
here, that puts the newly created executables in /usr/src/commands/bin.